package com.zhz.model.company;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zhz.common.tool.mybatisplus.base.dal.entity.BasePO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author zhouhengzhe
 * @date 2023/3/21
 */
@Data
@EqualsAndHashCode(callSuper=true)
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@TableName(value = "co_company")
public class Company extends BasePO {
    /**
     * 公司名称
     */
    @TableField(NAME)
    private String name;

    /**
     * 企业登录账号ID
     */
    @TableField(MANAGER_ID)
    private String managerId;

    /**
     * 当前版本
     */
    @TableField(VERSION)
    private String version;

    /**
     * 续期时间
     */
    @TableField(RENEWAL_DATE)
    private LocalDateTime renewalDate;

    /**
     * 到期时间
     */
    @TableField(EXPIRATION_DATE)
    private LocalDateTime expirationDate;

    /**
     * 公司地区
     */
    @TableField(COMPANY_AREA)
    private String companyArea;

    /**
     * 公司地址
     */
    @TableField(COMPANY_ADDRESS)
    private String companyAddress;

    /**
     * 营业执照-图片ID
     */
    @TableField(BUSINESS_LICENSE_ID)
    private String businessLicenseId;

    /**
     * 法人代表
     */
    @TableField(LEGAL_REPRESENTATIVE)
    private String legalRepresentative;

    /**
     * 公司电话
     */
    @TableField(COMPANY_PHONE)
    private String companyPhone;

    /**
     * 邮箱
     */
    @TableField(_MAILBOX)
    private String mailbox;

    /**
     * 公司规模
     */
    @TableField(COMPANY_SIZE)
    private String companySize;

    /**
     * 所属行业
     */
    @TableField(INDUSTRY)
    private String industry;

    /**
     * 备注
     */
    @TableField(REMARKS)
    private String remarks;

    /**
     * 审核状态
     */
    @TableField(AUDIT_STATE)
    private Integer auditState;

    /**
     * 状态
     */
    @TableField(STATE)
    private Integer state;

    /**
     * 当前余额
     */
    @TableField(BALANCE)
    private BigDecimal balance;

    public static final String NAME = "name";

    public static final String MANAGER_ID = "manager_id";

    public static final String VERSION = "version";

    public static final String RENEWAL_DATE = "renewal_date";

    public static final String EXPIRATION_DATE = "expiration_date";

    public static final String COMPANY_AREA = "company_area";

    public static final String COMPANY_ADDRESS = "company_address";

    public static final String BUSINESS_LICENSE_ID = "business_license_id";

    public static final String LEGAL_REPRESENTATIVE = "legal_representative";

    public static final String COMPANY_PHONE = "company_phone";

    public static final String _MAILBOX = "mailbox";

    public static final String COMPANY_SIZE = "company_size";

    public static final String INDUSTRY = "industry";

    public static final String REMARKS = "remarks";

    public static final String AUDIT_STATE = "audit_state";

    public static final String STATE = "state";

    public static final String BALANCE = "balance";
}